header {
   height: 20px;
   box-shadow: 0 0 3px 3px #ccc;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 14px;
   color: #333;
   input,
   span {
      width: 60px;
      color: inherit;
   }
}
body {
   width: 100vw;
   height: 100vh;
}
main {
   margin: 10px;
   display: flex;
   flex-wrap: wrap;
   border: 1px solid #ccc;
   box-shadow: 0px 0px 3px 3px #999;
   user-select: none;
}
#flex {
   width: calc(100% - 30px);
   height: calc(100% - 30px);
   display: flex;
   align-items: center;
   justify-content: center;
}

.lattice {
   background-color: #fff;
   position: relative;
   display: flex;
   align-items: center;
   justify-content: center;
   box-sizing: border-box;
   transition: 0.2s;
   span {
      display: block;
      text-align: center;
      border-radius: 10%;
      background-color: #fff;
      transition: background-color 0.2s;
      width: 86%;
      height: 86%;
      display: flex;
      align-items: center;
      justify-content: center;
   }
   i {
      display: block;
      font-size: large;
      font-weight: bold;
      &[mask="1"]::after {
         content: "1";
         color: rgb(0, 183, 255);
      }
      &[mask="2"]::after {
         content: "2";
         color: rgb(0, 132, 255);
      }
      &[mask="3"]::after {
         content: "3";
         color: rgb(179, 255, 0);
      }
      &[mask="4"]::after {
         content: "4";
         color: rgb(255, 217, 0);
      }
      &[mask="5"]::after {
         content: "5";
         color: rgb(255, 136, 0);
      }
      &[mask="6"]::after {
         content: "6";
         color: rgb(255, 102, 0);
      }
      &[mask="7"]::after {
         content: "7";
         color: rgb(255, 51, 0);
      }
      &[mask="8"]::after {
         content: "8";
         color: rgb(255, 28, 28);
      }
   }
}

.lattice.show span {
   background-color: rgb(8, 144, 255);
}

.lattice.red span {
   background-color: rgb(255, 60, 0);
}

.lattice.highlight span {
   opacity: .2;
}
// .lattice.reveal {
//    background-color: #ddd;
// }
.lattice.reveal span {
   background-color: #fff;
   // width: 92%;
   // height: 92%;
   // border-radius: 0;
}
